/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var cTab;

function AbreJanela(lPassa) {
    var cDiv = document.getElementById("conexao");

    if (lPassa) {
        cDiv.style.visibility = "visible";
    }
    else {
        cDiv.style.visibility = "hidden";
    }

}

function TeclaEnter(event) {
    var keynum;

    if (window.event) { //IE  
        keynum = event.keyCode
    } else if (event.which) {
        keynum = event.which
    }
    if (keynum == 13) {
        return true;
    }
    else {
        return false;
    }
}

function layout() {
    var cLayout = document.getElementById("layoutLeft");

    cLayout.focus();
}

function abre_pagina(cLink) {
    window.open(cLink, "Banco Bradesco", "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes");
}

function currencyFormat(fld, milSep, decSep, e) {
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))
        return true;

    key = String.fromCharCode(whichCode);  // Get key value from key code
    if (strCheck.indexOf(key) == -1)
        return false;  // Not a valid key
    len = fld.value.length;
    for (i = 0; i < len; i++)
        if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep))
            break;
    aux = '';
    for (; i < len; i++)
        if (strCheck.indexOf(fld.value.charAt(i)) != -1)
            aux += fld.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0)
        fld.value = '';
    if (len == 1)
        fld.value = '0' + decSep + '0' + aux;
    if (len == 2)
        fld.value = '0' + decSep + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += milSep;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        fld.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
            fld.value += aux2.charAt(i);
        fld.value += decSep + aux.substr(len - 2, len);
    }
    return false;
}

function maskIt(w, e, m, r, a, c) {
    // Cancela se o evento for Backspace
    /*
     Os argumentos da função são:
     
     * w: Referência ao elemento. Normalmente é this.
     * e: Evento usado para cancelar o Backspace.
     * m: Máscara a ser aplicada.
     * r: Aplicar a mascara da direita para a esquerda. Opcional [true|false] - Dafault : false.
     * a: Objeto com informações para aplicar após a máscara. 
     * Use você precisar aplicar alguma informação sempre no começo ou no fim do valor independente da máscara, 
     * como exemplo "R$" em campos do tipo monetário. Sintaxe: {[pre:'value'[,pos:'value']]}.
     * c: Tipo de caractere 9 - Somente numeros (0..9) = A - Somente letras (a..z + A..Z)
     */
    if (!e)
        var e = window.event;
    if (e.keyCode)
        code = e.keyCode;
    else if (e.which)
        code = e.which;
    // Variáveis da função
    var txt = (!r) ? w.value.replace(/[^\d]+/gi, '') : w.value.replace(/[^\d]+/gi, '').reverse();
    var mask = (!r) ? m : m.reverse();
    var pre = (a) ? a.pre : "";
    var pos = (a) ? a.pos : "";
    var ret = "";
    // if (w.value.length > mask.length) {
    //     txt = txt.substring(0,mask.length);
    // } else 
    if (code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g, '').length) {
        return false;
    }
    // Loop na máscara para aplicar os caracteres
    for (var x = 0, y = 0, z = mask.length; x < z && y < txt.length; ) {
        if (mask.charAt(x) != '#') {
            ret += mask.charAt(x);
            x++;
        }
        else {
            ret += txt.charAt(y);
            y++;
            x++;
        }
    }
    // Retorno da função
    ret = (!r) ? ret : ret.reverse();
    if (w.value.match("-")) {
        w.value = "-" + ret + pos;
    } else {
        w.value = pre + ret + pos;
    }
//w.value = pre+ret+pos;
}

function somenteLetra(e)
{
    var expressao;

    expressao = '/[a-zA-Z]/';

    if (expressao.test(String.fromCharCode(e.keyCode)))
    {
        return true;
    }
    else
    {
        return false;
    }
}

function maskItUnico(w, e, m, r) {
    // Cancela se o evento for Backspace
    if (!e)
        var e = window.event
    if (e.keyCode)
        code = e.keyCode;
    else if (e.which)
        code = e.which;
    // Variáveis da função
    var txt = w.value;
    var mask = (!r) ? m : m.reverse();
    var ret = "";
    if (code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g, '').length)
        return false;
    // Loop na máscara para aplicar os caracteres
    for (var x = 0, y = 0, z = mask.length; x < z && y < txt.length; ) {
        if (txt.charAt(x) != r) {
            w.value = ret;
            return false;
        }
        else {
            ret += txt.charAt(y);
            y++;
            x++;
        }
    }
    // Retorno da função
    ret = (!r) ? ret : ret.reverse();
    w.value = ret;
}
// Novo método para o objeto 'String'
String.prototype.reverse = function() {
    return this.split('').reverse().join('');
};

function habilitaButton(lEnabled) {
    document.getElementById("btExcluir").disabled = 'lEnabled';
}

function logoff() {
    document.form.action = "#{loginBean.encerraSessao()}";
    document.form.submit();
}

function submitform(url, tipRel) {
    try {
        var tipStatus = $('#tipStatus option:selected').text();
        var tipSituacao = $('#tipSituacao option:selected').text();
        var tipOrder = $('#tipOrder option:selected').text();

    } catch (err) {
        nErro = -1;
    }
    url += "?tipRel=" + tipRel + "&tipStatus=" + tipStatus + "&tipSituacao=" + tipSituacao + "&tipOrder=" + tipOrder;

    window.open(url, 'new', 'fullscreen=yes, scrollbars=auto');
}

function submit_automatico(url, form) {
    try {
        with (document.form)
        {
            method = "POST";
            action = url;
            //target = 'new';
            submit();
        }
    } catch (err) {
        alert("Erro ... Chamada ao Relatório Inválida!");
    }

}

function submit_automatico2(url, form) {

    try {
        with (document.forms[form])
        {
            method = "GET";
            action = url;
            //target = 'new';
            submit();
        }
    } catch (err) {
        alert("Erro ... Chamada ao Relatório Inválida!");
    }

}

function handleFormRequest(xhr, status, args, dialog) {
    if (args.validationFailed || !args.loggedIn) {
        dialog.show();
    } else {
        dialog.hide();
    }
}

function criarPanelGrid() {
    var grid = $("#scDiagnostico");
    $('#scDiagnostico').show({
        success: function(data) {
            $("#tabela").last().append("<tr><td>nova linha</td></tr>");
            $("#tabela").html(data);//Will insert new content inside div element.
        }
    });


}

function mascaraData(campoData) {
    var data = campoData.value;
    if (data.length == 2) {
        data = data + '/';
        $("frmEmpreendimento").data.value = data;
        return true;
    }
    if (data.length == 5) {
        data = data + '/';
        $("frmEmpreendimento").data.value = data;
        return true;
    }
}

function fixPFDialogToggleMaximize(dlg) {
    if (undefined == dlg.doToggleMaximize) {
        dlg.doToggleMaximize = dlg.toggleMaximize;
        dlg.toggleMaximize = function() {
            this.doToggleMaximize();
            var marginsDiff = this.content.outerHeight() - this.content.height();
            var newHeight = this.jq.innerHeight() - this.titlebar.outerHeight() - marginsDiff;
            this.content.height(newHeight);
        };
    }
}

function calcula_valor() {
    var nPerc1 = document.getElementById('inPercEtapa1').value;
    var nPerc2 = $("inPercEtapa2").val();
    var nVlrEtapa = $("#inVlrEtapa").val();

    var nVlrProposta1 = (nVlrEtapa * nPerc1) / 100;
    var nVlrProposta2 = (nVlrEtapa * nPerc2) / 100;

    $("inVlrProposta").val(nVlrProposta1);
    $("inVlrProposta2").val(nVlrProposta2);
}

jQuery.fn.extend({
    insertAtCaret: function(myValue) {
        return this.each(function() {
            if (document.selection) {
                //IE support
                this.focus();
                sel = document.selection.createRange();
                sel.text = myValue;
                this.focus();
            } else if (this.selectionStart || this.selectionStart == '0') {
                //MOZILLA / NETSCAPE support
                var startPos = this.selectionStart;
                var endPos = this.selectionEnd;
                var scrollTop = this.scrollTop;
                this.value = this.value.substring(0, startPos) + myValue + this.value.substring(endPos, this.value.length);
                this.focus();
                this.selectionStart = startPos + myValue.length;
                this.selectionEnd = startPos + myValue.length;
                this.scrollTop = scrollTop;
            } else {
                this.value += myValue;
                this.focus();
            }
        })
    }
});

function insertCurCaret(text) {
    $('textarea').insertAtCaret(text);
}